'\" te
.\" Copyright (c) 2003, Sun Microsystems, Inc.  All Rights Reserved
.\" Copyright 1989 AT&T
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH FSTYP 8 "June 20, 2021"
.SH NAME
fstyp \- determine file system type
.SH SYNOPSIS
.nf
\fBfstyp\fR [\fB-a\fR | \fB-v\fR] \fIspecial\fR [:\fIlogical-drive\fR]
.fi

.SH DESCRIPTION
\fBfstyp\fR allows the user to determine the file system type of unmounted file
systems using heuristic programs.
.sp
.LP
An \fBfstyp\fR module for each file system type to be checked is executed; each
of these modules applies an appropriate heuristic to determine whether the
supplied \fIspecial\fR file is of the type for which it checks. If it is, the
program prints on standard output the usual file system identifier for that
type (for example, ``ufs'') and exits with a return code of \fB0\fR; if none of
the modules succeed, the error message \fBunknown_fstyp (no matches)\fR is
returned and the exit status is \fB1\fR. If more than one module succeeds, the
error message \fBunknown_fstyp (multiple matches)\fR is returned and the exit
status is \fB2\fR. Other errors are printed in the same format.
.sp
.LP
This command is unreliable and its results should not be used to make any
decisions about subsequent use of a storage device or disk partition.
.SH OPTIONS
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.RS 6n
Output all available file system attributes. If a file system has been
successfully identified, and this option is specified, the \fIFSType\fR
identifier is followed by one or more "name-value" pairs, one per line, in the
format:
.sp
.in +2
.nf
name: value
.fi
.in -2
.sp

The following conventions are recognized for the file system attributes:
.RS +4
.TP
.ie t \(bu
.el o
String values are put in single quotes.
.RE
.RS +4
.TP
.ie t \(bu
.el o
Nested "name-value" list increases the indentation of its values by four
whitespaces.
.RE
.RS +4
.TP
.ie t \(bu
.el o
For an array of "name-value" pairs, one array entry is printed per line, with
the index following the name in square brackets.
.RE
For instance, in the following example, "\fItop_list\fR" is a "name-value"
list, consisting of a string array "\fIstring_array\fR" and a "name-value" list
array "\fIlist_array\fR". The second "list_array" element is an integer array
"\fIint_array\fR" containing three elements.
.sp
.in +2
.nf
top_string: 'String'
top_list:
    string_array[0]: 'S0'
    string_array[1]: 'S1'
    list_array[0]:
        int_one: 1
        string_two: 'S2'
    list_array[1]:
        int_array[0]: 1
        int_array[1]: 2
        int_array[2]: 3
.fi
.in -2
.sp

In addition to the \fIFSType\fR-specific attributes, the following generic
attributes may be present:
.sp
.ne 2
.na
\fB\fIgen_clean\fR\fR
.ad
.RS 13n
Allowable values are "true" or "false". If the value is "false", the file
system is damaged or was not unmounted cleanly and the \fBfsck\fR(8) command
must be run before this file system can be mounted.
.RE

.sp
.ne 2
.na
\fB\fIgen_guid\fR\fR
.ad
.RS 12n
Globally unique identifier. This string uniquely identifies the file system.
.RE

.sp
.ne 2
.na
\fB\fIgen_version\fR\fR
.ad
.RS 15n
A string describing the file system version.
.RE

.sp
.ne 2
.na
\fB\fIgen_volume_label\fR\fR
.ad
.RS 20n
Volume label, a human-readable string used to either describe or identify the
file system.
.RE

.RE

.sp
.ne 2
.na
\fB\fB-v\fR\fR
.ad
.RS 6n
Produce verbose output. This is usually information about the file systems
superblock and varies across different \fIFSTypes\fR. See \fBufs\fR(4FS),
\fBmkfs_ufs\fR(8), and \fBtunefs\fR(8) for details.
.RE

.SH USAGE
See \fBlargefile\fR(7) for the description of the behavior of \fBfstyp\fR when
encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
.SH SEE ALSO
.BR libfstyp (3LIB),
.BR hsfs (4FS),
.BR pcfs (4FS),
.BR ufs (4FS),
.BR attributes (7),
.BR largefile (7),
.BR fsck (8),
.BR mkfs_ufs (8),
.BR tunefs (8)
.SH NOTES
The use of heuristics implies that the result of \fBfstyp\fR is not guaranteed
to be accurate.
.sp
.LP
This command is unreliable and its results should not be used to make any
decisions about subsequent use of a storage device or disk partition.
